package com.china08.yxyapi.entity.mg.mistakes;

import java.util.List;

import javax.persistence.Id;

import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import com.china08.yxyapi.entity.mg.MongoBaseEntityNoId;

/**
 * 
 * 
 * @author Richard Wang
 *
 */
@SuppressWarnings("serial")
@Document(collection = "yxy.mistakes.tea.ques")
public class TeaMistakesQues extends MongoBaseEntityNoId {

    /** 主键 publish_user_id+班级id+ 试题id */
    @Id
    private String id;

    /**
     * 班级id
     */
    @Indexed
    @Field(value = "class_id")
    private String classId;

    /** 试题:ID */
    @Indexed
    @Field(value = "ques_id")
    private String quesId;

    /**
     * 错题来源, 可能来源多个 </br>
     * 00--作业系统 01--测评系统
     */
    @Field(value = "sources")
    public List<String> sources;

    /** 发布用户:ID 在错题本中，查询需要根据教师id，查询错题， */
    @Indexed
    @Field(value = "publish_user_id")
    private String publishUserId;

    /** 发布用户名称 */
    @Field(value = "publish_user_nick")
    private String publishUserNick;

    /**
     * 学校id
     */
    @Field(value = "school_id")
    private String schoolId;

    /** 学段 */
    @Field(value = "stage")
    private String stage;

    /** 学科 */
    @Field(value = "subject")
    private String subject;

    /**
     * 试题类型，使用题库中的的类型 （单选择题，多选择题，填空,解答）"
     */
    @Field(value = "question_type")
    private String questionType;

    /** 知识点:ID */
    @Indexed
    @Field(value = "know_id")
    private List<Integer> knowIdLst;

    /** 知识点:Name */
    @Field(value = "know_name")
    private List<String> knowNameLst;

    /**
     * 0--未解决 1--已解决
     */
    @Field(value = "status")
    private Integer status;

    /** 错误人数 */
    @Field(value = "mistakes_number")
    private Integer mistakesNumber = 0;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getClassId() {
        return classId;
    }

    public void setClassId(String classId) {
        this.classId = classId;
    }

    public String getQuesId() {
        return quesId;
    }

    public void setQuesId(String quesId) {
        this.quesId = quesId;
    }

    public List<String> getSources() {
        return sources;
    }

    public void setSources(List<String> sources) {
        this.sources = sources;
    }

    public String getPublishUserId() {
        return publishUserId;
    }

    public void setPublishUserId(String publishUserId) {
        this.publishUserId = publishUserId;
    }

    public String getPublishUserNick() {
        return publishUserNick;
    }

    public void setPublishUserNick(String publishUserNick) {
        this.publishUserNick = publishUserNick;
    }

    public String getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(String schoolId) {
        this.schoolId = schoolId;
    }

    public String getStage() {
        return stage;
    }

    public void setStage(String stage) {
        this.stage = stage;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getQuestionType() {
        return questionType;
    }

    public void setQuestionType(String questionType) {
        this.questionType = questionType;
    }

    public List<Integer> getKnowIdLst() {
        return knowIdLst;
    }

    public void setKnowIdLst(List<Integer> knowIdLst) {
        this.knowIdLst = knowIdLst;
    }

    public List<String> getKnowNameLst() {
        return knowNameLst;
    }

    public void setKnowNameLst(List<String> knowNameLst) {
        this.knowNameLst = knowNameLst;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getMistakesNumber() {
        return mistakesNumber;
    }

    public void setMistakesNumber(Integer mistakesNumber) {
        this.mistakesNumber = mistakesNumber;
    }

}
